home *** CD-ROM | disk | FTP | other *** search
/ Aminet 52 / Aminet 52 (2002)(GTI - Schatztruhe)[!][Dec 2002].iso / Aminet / dev / gg / ncurses-5.3.lha / ncurses-5.3 / Ada95 / samples / sample-function_key_setting.ads < prev    next >
Text File  |  2002-10-24  |  5KB  |  84 lines

  1. ------------------------------------------------------------------------------
  2. --                                                                          --
  3. --                       GNAT ncurses Binding Samples                       --
  4. --                                                                          --
  5. --                         Sample.Function_Key_Setting                      --
  6. --                                                                          --
  7. --                                 S P E C                                  --
  8. --                                                                          --
  9. ------------------------------------------------------------------------------
  10. -- Copyright (c) 1998 Free Software Foundation, Inc.                        --
  11. --                                                                          --
  12. -- Permission is hereby granted, free of charge, to any person obtaining a  --
  13. -- copy of this software and associated documentation files (the            --
  14. -- "Software"), to deal in the Software without restriction, including      --
  15. -- without limitation the rights to use, copy, modify, merge, publish,      --
  16. -- distribute, distribute with modifications, sublicense, and/or sell       --
  17. -- copies of the Software, and to permit persons to whom the Software is    --
  18. -- furnished to do so, subject to the following conditions:                 --
  19. --                                                                          --
  20. -- The above copyright notice and this permission notice shall be included  --
  21. -- in all copies or substantial portions of the Software.                   --
  22. --                                                                          --
  23. -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
  24. -- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
  25. -- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
  26. -- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
  27. -- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
  28. -- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
  29. -- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
  30. --                                                                          --
  31. -- Except as contained in this notice, the name(s) of the above copyright   --
  32. -- holders shall not be used in advertising or otherwise to promote the     --
  33. -- sale, use or other dealings in this Software without prior written       --
  34. -- authorization.                                                           --
  35. ------------------------------------------------------------------------------
  36. --  Author:  Juergen Pfeifer, 1996
  37. --  Contact: http://www.familiepfeifer.de/Contact.aspx?Lang=en
  38. --  Version Control
  39. --  $Revision: 1.8 $
  40. --  Binding Version 01.00
  41. ------------------------------------------------------------------------------
  42. with Terminal_Interface.Curses; use Terminal_Interface.Curses;
  43. with Terminal_Interface.Curses.Panels; use Terminal_Interface.Curses.Panels;
  44.  
  45. --  This package implements a simple stack of function key label environments.
  46. --
  47. package Sample.Function_Key_Setting is
  48.  
  49.    procedure Push_Environment (Key   : in String;
  50.                                Reset : in Boolean := True);
  51.    --  Push the definition of the current function keys on an internal
  52.    --  stack. If the reset flag is true, all labels are reset while
  53.    --  pushed, so the new environment can assume a tabula rasa.
  54.    --  The Key defines the new Help Context associated with the new
  55.    --  Environment. This saves also the currently active Notepad.
  56.  
  57.    procedure Pop_Environment;
  58.    --  Pop the Definitions from the stack and make them the current ones.
  59.    --  This also restores the Help context and the previous Notepad.
  60.  
  61.    procedure Initialize (Mode : Soft_Label_Key_Format := PC_Style;
  62.                          Just : Label_Justification := Left);
  63.    --  Initialize the environment
  64.  
  65.    function Context return String;
  66.    --  Return the current context identitfier
  67.  
  68.    function Find_Context (Key : String) return Boolean;
  69.    --  Look for a context, return true if it is in the stack,
  70.    --  false otherwise.
  71.  
  72.    procedure Notepad_To_Context (Pan : in Panel);
  73.    --  Add a panel representing a notepad to the current context.
  74.  
  75.    Function_Key_Stack_Error : exception;
  76.  
  77.    procedure Default_Labels;
  78.    --  Set the default labels used in all environments
  79.  
  80.    function Notepad_Window return Window;
  81.    --  Return the current notepad window or Null_Window if there is none.
  82.  
  83. end Sample.Function_Key_Setting;
  84.